#pragma once

class WindowListener:public Ogre::FrameListener, public Ogre::WindowEventListener, 
	public OIS::KeyListener,public OIS::MouseListener
{
public:
	//ogre callbacks
	void	windowClosed(Ogre::RenderWindow *win);
	//OIS mouse callbacks
	bool mouseMoved( const OIS::MouseEvent &arg );
	bool mousePressed( const OIS::MouseEvent &arg, OIS::MouseButtonID id );
	bool mouseReleased( const OIS::MouseEvent &arg, OIS::MouseButtonID id );
	//OIS keyboard callbacks
	bool keyPressed( const OIS::KeyEvent &arg );
	bool keyReleased( const OIS::KeyEvent &arg );	
};

typedef boost::shared_ptr<WindowListener> WindowListenerPtr;